#include<stdio.h>
#include<string.h>
int l[200];
int h[200];
int zx[200];
int yx[200];
int sum=0;
 int m;
 int bj[100];
 int sx[200][100];
void search(int n,int a[]){
    if(n==(m+1)){
        sum++;
        for(int i=1;i<=n-1;i++){
            sx[sum][i]=a[i];
        }
        return ;
    }
    for(int i=1;i<=m;i++){
        if(!h[i]&&!zx[i-n+m]&&!yx[i+n-2]){
            h[i]=1;
            zx[i-n+m]=1;
            yx[i+n-2]=1;
            a[n]=i;
            search(n+1,a);
            h[i]=0;
            zx[i-n+m]=0;
            yx[i+n-2]=0;
        }
    }
}
void pd(int a[],int i){
    for(int k=i+1;k<=92;k++){
        if(!bj[k]){
            int bjj=1;
            for(int l=1;l<=8;l++){
                    {
                        if(a[l]!=sx[k][l]){
                            bjj=0;
                            break;
                        }
                    }
                }
                bj[k]=bjj;
                }  
            }
}
int main(){
   m=8;
   int a[20];
    search(1,a);
    for(int i=1;i<=92;i++){
        if(!bj[i]){
            for(int j=1;j<=8;j++){
                a[j]=9-sx[i][j];
            }//上下
            pd(a,i);
            for(int j=1;j<=8;j++){
                int temp=sx[i][j];
                a[j]=sx[i][9-j];
                a[9-j]=temp;
            }//左右
            pd(a,i);
            for(int j=1;j<=8;j++){
                a[9-sx[i][j]]=9-j;
        }//主对角
        pd(a,i);
         for(int j=1;j<=8;j++){
                a[sx[i][j]]=j;
        }//副对角
        pd(a,i);
        for(int j=1;j<=8;j++){
            a[j]=sx[i][j];
        }
        int b[20];
        for(int j=1;j<=3;j++){
           for(int k=1;k<=8;k++){
             b[9-a[k]]=k;
           }
           for(int k=1;k<=8;k++){
            a[k]=b[k];
           }
           pd(a,i);
        }//旋转3次
    }}
    int sum=0;
    for(int i=1;i<=92;i++){
        if(!bj[i]){
            sum++;
            printf("NO%d:",sum);
            for(int j=1;j<=8;j++){
                printf("%d ",sx[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}